1. Field
The disclosure relates generally to an improved data processing system, and more specifically to deployment of asynchronous agentless agent functionality in clustered environments.
2. Description of the Related Art
In a computer management environment, one or more central servers or controllers are used to manage a plurality (and often a large number) of other target resources. Target resources can be any type of computer device, including personal computer systems, servers, workstations, mainframes, peripherals, network devices, etc. The servers may perform work on multiple target resources within a network by interrogating, configuring, controlling, or otherwise communicating with the target resources. Common methods for managing target resources fall into two broad categories: agent-based and agentless methods.
In an agent-based method, specific agent applications are installed on each target device that needs to be managed. A central management server communicates with the locally-installed agent, which then communicates with the local OS to coordinate the desired management process on the target resource. However, agent-based methods can introduce management problems because the agents must themselves be deployed, installed, and updated on the target resources, which results in increased cost and complexity in managing the agents on each resource.
Agentless agents, or agents with a zero footprint, are a common form of agents in management systems. In an agentless method, the management system has knowledge of target devices on the network it manages. This knowledge may be derived through manual user registration, automatic discovery, or a combination of both. An agentless agent has a zero footprint in that the agent does not have an execution module installed on the managed target resource, but rather on an execution point external to the target resource.
Agentless agents provide an interface abstraction of the target resource to be managed. In particular, an agentless agent relies on a remote administration capability in the form of an exposed application programming interface (API) or remote console for the managed resource. Because the agent is not installed on the target device, the agent typically performs operations on the target device in a synchronous manner. For instance, to conduct a management operation on a target resource, execution code is retrieved from a repository, and temporarily installed on an execution point. Depending on the nature of the managed resource, the execution point may be a separate node or in a node cluster. The code is executed, and a response is sent to the management system before the execution code is removed from the execution point. This agentless method may be augmented by temporarily storing or caching the execution code at the execution point to improve performance if the code is used frequently. If, after a predetermined period the execution code is not used, the code is removed from the cache.